// house_pkg/pages/locate/index.ts
// 导入地图的sdk
import qqMap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    address: '',
    points: []
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad () {
    this.getLocation()
  },
  async getLocation () {
    // 获取用户所在位置
    const { latitude, longitude } = await wx.getLocation()
    this.getPoint(latitude, longitude)
  },
  // 选择的位置
  async chooseLocation () {
    // 用户选则的位置
    const { latitude, longitude } = await wx.chooseLocation()
    this.getPoint(latitude, longitude)
  },
  // 逆地址解析(根据经纬度能得到经纬度附近的地址信息)
  getPoint (latitude, longitude) {
    // 因为地图是发的请求到腾讯地图,所以给个loading
    wx.showLoading({
      title: '正在加载...',
      mask: true
    })
    // 逆地址解析
    qqMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({ result: { address } }) => {
        console.log('地址都有啥', address)
        this.setData({ address })
      },
      fail: function () {
        wx.utils.toast('对不起,你没在地球')
      }
    })

    // 获取周边信息
    qqMap.search({
      keyword: '住宅小区',  //搜索关键词
      location: [latitude, longitude].join(','),  //设置周边搜索中心点
      page_size: 5,
      success: (res) => { //搜索成功后的回调
        console.log('附近小区', res)
        // 处理一下数据
        const points = []
        res.data.forEach(({ id, title }) => {
          points.push({ id, title })
        })
        // 更新数据,重新渲染
        this.setData({
          points
        })
      },
      fail: function () {
        wx.utils.toast('附近啥都没有,吃麦当劳去吧')
      },
      complete: function () {
        wx.hideLoading()
      }
    })
  },
  // 跳转页面
  goBuilding (ev) {
    console.log('mark携带的数据', ev)
    wx.navigateTo({
      url: '/house_pkg/pages/building/index?point=' + ev.mark.point
    })
  }
})